package q1.project.modules.system.role.common;

import lombok.Getter;

/**
 * 菜单类型枚举
 *
 * @author Q1 Team
 * @version 1.0
 */
@Getter
public enum MenuTypeEnum {

  /** 目录 */
  DIRECTORY(1, "目录"),

  /** 菜单 */
  MENU(2, "菜单"),

  /** 按钮 */
  BUTTON(3, "按钮");

  /** 类型值(兼容旧数据) */
  private final Integer value;

  /** 类型描述 */
  private final String description;

  MenuTypeEnum(Integer value, String description) {
    this.value = value;
    this.description = description;
  }

  /** 根据值获取枚举 */
  public static MenuTypeEnum fromValue(Integer value) {
    if (value == null) {
      return DIRECTORY;
    }
    for (MenuTypeEnum type : values()) {
      if (type.value.equals(value)) {
        return type;
      }
    }
    return DIRECTORY;
  }
}
